package com.ruoyi.ljx.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 司机对象 tb_driver
 * 
 * @author wuxiao
 * @date 2024-12-24
 */
public class TbDriver extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 司机编号 */
    private Long driverId;

    /** 用户编号 */
    @Excel(name = "用户编号")
    private Long userId;

    /** 真实姓名 */
    @Excel(name = "真实姓名")
    private String realName;

    /** 身份证号 */
    @Excel(name = "身份证号")
    private String idNumber;

    /** 性别 */
    @Excel(name = "性别")
    private String gender;

    /** 籍贯 */
    @Excel(name = "籍贯")
    private String nativePlace;

    /** 出生日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出生日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date dateOfBirth;

    /** 身份证有效日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "身份证有效日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date validityPeriodIdentityCard;

    /** 家庭住址 */
    @Excel(name = "家庭住址")
    private String familyAddress;

    /** 身份证正面照 */
    @Excel(name = "身份证正面照")
    private String frontPhotoCard;

    /** 身份证反面照 */
    @Excel(name = "身份证反面照")
    private String reversePhotoCard;

    /** 初次领证日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "初次领证日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date dateFirstApplication;

    /** 驾驶证有效日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "驾驶证有效日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date validityPeriodDrivingLicense;

    /** 准驾车型 */
    @Excel(name = "准驾车型")
    private String quasiDrivingType;

    /** 驾驶证正本照 */
    @Excel(name = "驾驶证正本照")
    private String drivingLicenceFrontPicture;

    /** 驾驶证副本照 */
    @Excel(name = "驾驶证副本照")
    private String drivingLicenceContraryPicture;

    /** 信用分 */
    @Excel(name = "信用分")
    private Long creditScore;

    /** 审批状态 */
    @Excel(name = "审批状态")
    private Integer approveStatus;

    /** 手机号 */
    @Excel(name = "手机号")
    private String cellPhoneNumber;

    /** 电子邮箱 */
    @Excel(name = "电子邮箱")
    private String emailAddress;

    /** 账户余额 */
    @Excel(name = "账户余额")
    private BigDecimal withdrawalAmount;

    /** 司机状态 */
    @Excel(name = "司机状态")
    private String driverStatus;


    @Excel(name = "车辆代码")
    private String carCode;

    @Excel(name = "x经纬度")
    private String longitude;

    @Excel(name = "y经纬度")
    private String latitude;

    public String getCarCode() {
        return carCode;
    }

    public void setCarCode(String carCode) {
        this.carCode = carCode;
    }

    public String getLongitude() {
        return longitude;
    }

    public void setLongitude(String longitude) {
        this.longitude = longitude;
    }

    public String getLatitude() {
        return latitude;
    }

    public void setLatitude(String latitude) {
        this.latitude = latitude;
    }

    public void setDriverId(Long driverId)
    {
        this.driverId = driverId;
    }

    public Long getDriverId() 
    {
        return driverId;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setRealName(String realName) 
    {
        this.realName = realName;
    }

    public String getRealName() 
    {
        return realName;
    }
    public void setIdNumber(String idNumber) 
    {
        this.idNumber = idNumber;
    }

    public String getIdNumber() 
    {
        return idNumber;
    }
    public void setGender(String gender) 
    {
        this.gender = gender;
    }

    public String getGender() 
    {
        return gender;
    }
    public void setNativePlace(String nativePlace) 
    {
        this.nativePlace = nativePlace;
    }

    public String getNativePlace() 
    {
        return nativePlace;
    }
    public void setDateOfBirth(Date dateOfBirth) 
    {
        this.dateOfBirth = dateOfBirth;
    }

    public Date getDateOfBirth() 
    {
        return dateOfBirth;
    }
    public void setValidityPeriodIdentityCard(Date validityPeriodIdentityCard) 
    {
        this.validityPeriodIdentityCard = validityPeriodIdentityCard;
    }

    public Date getValidityPeriodIdentityCard() 
    {
        return validityPeriodIdentityCard;
    }
    public void setFamilyAddress(String familyAddress) 
    {
        this.familyAddress = familyAddress;
    }

    public String getFamilyAddress() 
    {
        return familyAddress;
    }
    public void setFrontPhotoCard(String frontPhotoCard) 
    {
        this.frontPhotoCard = frontPhotoCard;
    }

    public String getFrontPhotoCard() 
    {
        return frontPhotoCard;
    }
    public void setReversePhotoCard(String reversePhotoCard) 
    {
        this.reversePhotoCard = reversePhotoCard;
    }

    public String getReversePhotoCard() 
    {
        return reversePhotoCard;
    }
    public void setDateFirstApplication(Date dateFirstApplication) 
    {
        this.dateFirstApplication = dateFirstApplication;
    }

    public Date getDateFirstApplication() 
    {
        return dateFirstApplication;
    }
    public void setValidityPeriodDrivingLicense(Date validityPeriodDrivingLicense) 
    {
        this.validityPeriodDrivingLicense = validityPeriodDrivingLicense;
    }

    public Date getValidityPeriodDrivingLicense() 
    {
        return validityPeriodDrivingLicense;
    }
    public void setQuasiDrivingType(String quasiDrivingType) 
    {
        this.quasiDrivingType = quasiDrivingType;
    }

    public String getQuasiDrivingType() 
    {
        return quasiDrivingType;
    }
    public void setDrivingLicenceFrontPicture(String drivingLicenceFrontPicture) 
    {
        this.drivingLicenceFrontPicture = drivingLicenceFrontPicture;
    }

    public String getDrivingLicenceFrontPicture() 
    {
        return drivingLicenceFrontPicture;
    }
    public void setDrivingLicenceContraryPicture(String drivingLicenceContraryPicture) 
    {
        this.drivingLicenceContraryPicture = drivingLicenceContraryPicture;
    }

    public String getDrivingLicenceContraryPicture() 
    {
        return drivingLicenceContraryPicture;
    }
    public void setCreditScore(Long creditScore) 
    {
        this.creditScore = creditScore;
    }

    public Long getCreditScore() 
    {
        return creditScore;
    }
    public void setApproveStatus(Integer approveStatus) 
    {
        this.approveStatus = approveStatus;
    }

    public Integer getApproveStatus() 
    {
        return approveStatus;
    }
    public void setCellPhoneNumber(String cellPhoneNumber) 
    {
        this.cellPhoneNumber = cellPhoneNumber;
    }

    public String getCellPhoneNumber() 
    {
        return cellPhoneNumber;
    }
    public void setEmailAddress(String emailAddress) 
    {
        this.emailAddress = emailAddress;
    }

    public String getEmailAddress() 
    {
        return emailAddress;
    }
    public void setWithdrawalAmount(BigDecimal withdrawalAmount) 
    {
        this.withdrawalAmount = withdrawalAmount;
    }

    public BigDecimal getWithdrawalAmount() 
    {
        return withdrawalAmount;
    }
    public void setDriverStatus(String driverStatus) 
    {
        this.driverStatus = driverStatus;
    }

    public String getDriverStatus() 
    {
        return driverStatus;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("driverId", getDriverId())
            .append("userId", getUserId())
            .append("realName", getRealName())
            .append("idNumber", getIdNumber())
            .append("gender", getGender())
            .append("nativePlace", getNativePlace())
            .append("dateOfBirth", getDateOfBirth())
            .append("validityPeriodIdentityCard", getValidityPeriodIdentityCard())
            .append("familyAddress", getFamilyAddress())
            .append("frontPhotoCard", getFrontPhotoCard())
            .append("reversePhotoCard", getReversePhotoCard())
            .append("dateFirstApplication", getDateFirstApplication())
            .append("validityPeriodDrivingLicense", getValidityPeriodDrivingLicense())
            .append("quasiDrivingType", getQuasiDrivingType())
            .append("drivingLicenceFrontPicture", getDrivingLicenceFrontPicture())
            .append("drivingLicenceContraryPicture", getDrivingLicenceContraryPicture())
            .append("creditScore", getCreditScore())
            .append("approveStatus", getApproveStatus())
            .append("cellPhoneNumber", getCellPhoneNumber())
            .append("emailAddress", getEmailAddress())
            .append("withdrawalAmount", getWithdrawalAmount())
            .append("driverStatus", getDriverStatus())
            .append("carCode", getCarCode())
            .append("longitude", getLongitude())
            .append("latitude", getLatitude())
            .toString();
    }


}
